Experiment Overview

Every control system design begins with a mathematical model of the plant. For a servo-motor driving a gear train — used in aircraft flight control actuators, robotic joints, and gimbal systems — that model is typically a first-order transfer function relating input voltage to output shaft speed. This lab identified that model experimentally for the Quanser SRV02 servo-motor using two complementary approaches: a bump test to extract parameters from the step response, and a model validation experiment to iteratively refine those parameters until simulated and measured responses matched.

Bump test – voltage and rotational speed vs. time, K=1.53, t=0.0253
Figure 1: Bump test — voltage and rotational speed vs. time (K=1.53, τ=0.0253)
63.2% criterion diagram for time constant identification from step response
Figure 2: 63.2% criterion diagram for time constant identification from step response

Equipment & Tools

Approach & Key Equations

A square-wave voltage (amplitude 1.5 V, offset 2.0 V, frequency 0.4 Hz) was applied to the SRV02 via Simulink’s “Monitor & Tune” mode. The load shaft speed and motor voltage were recorded for 5 seconds. The steady-state gain was computed from the measured speed change divided by the voltage change:

K = (yss − y0) / (umax − umin)

The time constant was identified as the time elapsed between the step onset and the point where the response reached 63.2% of its final steady-state value. Both parameters were then entered into the Simulink model and the simulated output compared visually against the measured response. Multiple (K, τ) pairs were tested until the curves converged.

Model validation iteration – K=1.0, t=0.1, simulated vs. measured speed
Figure 3: Model validation iteration — K=1.0, τ=0.1
Model validation iteration – K=0.8, t=0.06, simulated vs. measured speed
Figure 4: Model validation iteration — K=0.8, τ=0.06
Model validation iteration – K=1.25, t=0.2, simulated vs. measured speed
Figure 5: Model validation iteration — K=1.25, τ=0.2

Key Results

SourceK (rad/s/V)τ (s)
Nominal (theoretical)1.530.0253
Bump test1.78660.048
Model validation (best fit)1.680.044
Model validation – K=1.53, t=0.0253 (nominal), simulated vs. measured speed
Figure 6: Nominal model (K=1.53, τ=0.0253) — simulated vs. measured
Model validation – K=1.7866, t=0.048 (bump test result), simulated vs. measured speed
Figure 7: Bump test result (K=1.7866, τ=0.048) — simulated vs. measured
Best-fit validated model – K=1.68, t=0.044, near-exact overlay of simulated and measured speed
Figure 8: Best-fit validated model (K=1.68, τ=0.044) — near-exact overlay

MATLAB Code

Data was saved from the Simulink workspace and plotted with subplots showing voltage and load shaft speed. Bump test parameters were read from MATLAB cursor coordinates on the response plot.

% Plot voltage and rotational speed vs time
figure();
subplot(2,1,1)
plot(Vm(:,1), Vm(:,2), 'r', 'LineWidth', 1.5);
xlabel('Time (s)');  ylabel('Voltage (V)');

subplot(2,1,2)
plot(wl(:,1), wl(:,2), 'LineWidth', 1.5);   % measured
hold on
plot(wl(:,1), wl(:,3), 'LineWidth', 1.5);   % simulated
xlabel('Time (s)');  ylabel('Rotational Speed (rad/s)');

% Bump test gain and time constant
K_eb   = (y_ss - y_0) / (u_max - u_min);     % = 1.7866 (rad/s)/V
tau_eb = t_63pct - t_step_onset;             % = 0.048 s

Valuable Takeaways

← Back to Dynamics & Control Labs